package com.filestation.backend.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

public interface CosService {

    /**
     * 上传文件到腾讯云COS
     * @param file 文件对象
     * @param key 文件存储的key
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file, String key);

    /**
     * 上传文件流到腾讯云COS
     * @param inputStream 文件流
     * @param size 文件大小
     * @param contentType 文件类型
     * @param key 文件存储的key
     * @return 文件访问URL
     */
    String uploadFile(InputStream inputStream, long size, String contentType, String key);

    /**
     * 从腾讯云COS删除文件
     * @param key 文件存储的key
     * @return 是否删除成功
     */
    boolean deleteFile(String key);

    /**
     * 获取文件访问URL
     * @param key 文件存储的key
     * @return 文件访问URL
     */
    String getFileUrl(String key);
} 